// 类型转换 显式和隐式
// 3种
// 转换成布尔值
// 转换成数字 false + 1
// 转换成字符串 +


// 数值与布尔值相加   布尔值转换为数字
console.log(1+true);// 2
// 数字与字符串相加   数字转换为字符串
console.log(1+'1');// + 先拼接优先 11
// 字符串与布尔值相加 布尔值转换为字符串
console.log('abc'+'true');// 拼接 abctrue
console.log(true+true);// 加法 2
console.log(true==2,true==1);
// if(2) 2=>true
console.log(4 + [1,2,3]);//会被toString() 41,2,3
console.log('a'+'b');
// + true + new Date()
// NaN
// console.log('a' + + 'b');//aNaN   先单独出栈+'b' 做数值转换 NaN
// console.log(Number.isNaN(+ 'a1'))//true
// if(! + 'a1'){
//     console.log('-----');
// }

console.log(4 * '3');//12  只做数值类型的转换
console.log(4 * []);// 0 []转换为0
console.log(4 * [1,2]);// NaN


console.log(true==2);// false
console.log(null==undefined);// true
console.log(1=='1');// true
let obj={abc:'1'}
console.log(obj==1);// false